package com.koron.plan.web.repairplan.bean.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.koron.plan.web.common.Sortable;
import com.koron.plan.web.common.UpdateParameter;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * (WPlanPackageIssue)实体类
 * @author twcao
 * @since 2021-09-13 09:14:22
 */
@Data
@ApiModel("检修计划包工单计划")
public class PlanPackageIssueBean implements Serializable, UpdateParameter, Sortable {

    private static final long serialVersionUID = -23346092129657914L;

    @ApiModelProperty("主键")
    private String id;

    @ApiModelProperty("检修计划包主键")
    private String packageId;

    @ApiModelProperty("检修计划主主办单位主键")
    private String packageDeptId;

    @ApiModelProperty("检修计划标题")
    private String title;

    @ApiModelProperty("设备管理单位")
    private String deptManage;

    @ApiModelProperty("设备管理单位名称")
    private String deptManageName;

    @ApiModelProperty("工作类别")
    private String jobType;

    @ApiModelProperty("计划编号")
    private String planCode;

    @ApiModelProperty("工作内容")
    private String content;

    @NotNull(message = "计划开始时间不能为空")
    @ApiModelProperty("开始时间")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm",timezone = "GMT+8")
    private Date startTime;

    @NotNull(message = "计划结束时间不能为空")
    @ApiModelProperty("结束时间")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm",timezone = "GMT+8")
    private Date endTime;

    @ApiModelProperty("主办单位")
    private String organizer;

    @ApiModelProperty("主办单位名称")
    private String organizerName;

    @ApiModelProperty("提醒时间")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm",timezone = "GMT+8")
    private Date remindTime;

    @ApiModelProperty("备注")
    private String desc;

    @ApiModelProperty("工单id")
    private String issueId;

    @ApiModelProperty("工单编号")
    private String issueCode;

    @ApiModelProperty("状态")
    private Integer status;

    @ApiModelProperty("排序")
    private Integer sort;

    @ApiModelProperty("创建人账户")
    private String createBy;

    @ApiModelProperty("创建人名称")
    private String createByName;

    @ApiModelProperty("创建时间")
    private Date createTime;

    @ApiModelProperty("更新人账户")
    private String updateBy;

    @ApiModelProperty("更新人名称")
    private String updateByName;

    @ApiModelProperty("更新时间")
    private Date updateTime;

    @ApiModelProperty("创建人所在组织id")
    private String orgId;

    @ApiModelProperty("创建人所在组织名称")
    private String orgName;
}
